Many problems arise when it is necessary to interconnect a processing unit with one or more system busses which permit intercommunication to other memory modules, other processors and to other input/output systems. It is always necessary that there be taken into account means for allowing flexibility within the system, such as allowing partitioning, and also providing for system speed and also for proper data transfer integrity and correction, in addition to redundancy which might be required should one area fail.
Prior art systems such as U.S. Pat. No. 4,622,630 entitled "Data Processing System Having Unique Bus Control Protocol" involve a single common bus which is used for communication of address and data information among various system components but which single bus is time multiplexed in order to provide periods for address transfer and periods for data information transfer.
U.S. Pat. No. 4,982,321 entitled "Dual Bus System" provides an architecture where two system busses are used but for entirely different purposes. Thus one bus is operable for memory operations while another bus is operable for input/output operations but there is no redundancy or means by which each of the busses can be used for each of the other functions. Thus this system could not operate on a single bus since it at all times requires two busses for operations.
U.S. Pat. No. 4,535,448 entitled "Dual Bus Communication System" involves a dual set of busses used to provide coupling between data services and voice services of a particular AT&T communication system designated the CS300. One bus functions on a time division basis for communication between port circuits while the other bus functions as a packet-switch data processing bus for interfacing system peripherals with port circuitry. Again here the busses in this system are dissimilar and are not interchangeable to provide any redundancy.
U.S. Pat. No. 4,933,846 entitled "Network Communications Adapter With Dual Interleaved Memory Banks Servicing Multiple Processors" involves dissimilar busses such that one bus functions for transferring addresses and the other functions for the transfer of data. Then further this system operates for multiple computers hooked together in a network and does not function as a single computer hooked into dual common redundant busses.
The architecture of the presently disclosed system involves a single computer system operating independently but providing dual redundant system busses which have bus interface units which permit the processor and another element designated as the transfer box unit (translation lock unit) to communicate to either one of the two or dual system busses so that data communication and transfers may occur between the processor and other auxiliary resources such as a memory module, an input/output module, or another processor module if so desired. Each one of the two system busses involved is a duplicate of the other so that the system can operate on any one of the busses should the other one fail. Another feature of the present system is the flexibility of expansion so that a second central processing module system can be integrated for communication on the dual busses and permit partitioning into concurrently operating systems.
In a network where a Central Processing Module and its internal processor function at a first specialized single word protocol and at a first clock rate while an attached translation logic unit and other resource modules connected to a set of dual system busses function using a multiple word protocol at a second clock rate, one problem that arises is the control and handling of word message data received on the dual busses and destined for the translation logic unit (T-Box or Transfer Box unit) and the processor. The present receiving control apparatus provides an organized arrangement for not only receiving word message data but insuring its integrity and efficient routing to the destined receiving modules.
A receiving control apparatus operates as part of a dual bus interface unit between dual system busses which carry messages destined for a protocol translation logic unit and/or a processor in a central processing module which functions on a different word protocol and different clock rate than the dual bus interface unit and the dual system busses.
The receiving control apparatus receives and routes incoming messages to the intended destination module which is either the translation logic unit or the Central Processing Module, but only after insuring the integrity and validity of the message. Additionally the apparatus can operate with either system bus that is available since the dual bus interface unit provides two communication channels to the Central Processing Module and translation logic unit.
The present system provides the architecture for a bus interface unit which cooperates with two identical system busses such that the system can operate on either bus alone or on both busses at the same time. A specialized protocol is implemented which allows the processor and its associated transfer box (translation logic unit) to send or receive information data to and from either or both of the busses. The translation logic unit translates the dual bus protocol to the processor protocol and vice versa for messages going between the processor and the dual system busses.
A particular feature of the bus interface unit is that it permits one system bus to do Reads and Writes to memory while allowing another system bus to carry messages from other module resources to be received by the processor. Additionally, since each of the two system busses are identical to each other, the failure of one bus would not shut down the system since the other bus would be fully capable of carrying out all the required operations since the processor unit can access both system busses at the same time or alternatively access any one of the system busses as required.
The system performance can be enhanced since during the time that Reads and Writes are being communicated to memory on one bus, the messages from other of the resource modules in the system can be received simultaneously on the other bus for action by the processor unit. Additionally because of the capability of two redundant system busses in the architecture, it is possible to partition the system into two independent operating machines operating under separate central processing modules (CPM's).